A synthetic neural system is an information processing paradigm that is inspired by the way biological nervous systems, such as the brain, process information. Biological systems inspire system design in many other ways—reflex reaction and health signs, nature inspire systems (NIS)—hive and swarm behavior, fire flies, etcetera, for example. These synthetic systems provide an autonomic computing entity that can be arranged to manage complexity, continuously self-adjust, adjust to unpredictable conditions, and prevent and recover from failures.
A key element of synthetic neural systems is the general architecture of the synthetic neural system. A synthetic neural system is composed of a large number of highly interconnected processing autonomic elements that are analogous to neurons in a brain working in parallel to solve specific problems. Unlike general purpose brains, a synthetic neural system is typically configured for a specific application and sometimes for a limited duration.
Synthetic neural systems derive meaning from complicated or imprecise data and are used to extract patterns and detect trends that are too complex to be noticed by either humans or other computer techniques. A trained synthetic neural system can be thought of as an “expert” in the category of information it has been given to analyze. This expert can then be used to provide projections given new situations of interest and answer “what if” questions. Synthetic neural systems, like people, learn by example. Such systems are adapted, changed and reconfigured through a learning process in which results are compared to goals and objectives, and changes are made to the synthetic neural system to conform future results to the goals and objectives. Moreover, learning in both biological systems and synthetic neural systems involves adjustments to connections between the neurons.
With these advances, autonomic entities have been introduced in which software is implemented to aid in the management and maintenance of computer systems, computer programs, and devices, and when combined with other autonomous entities forms a team focused on completing an objective. To accomplish these goals autonomous entities are empowered with tools that can provide self-fixing and self-healing of autonomic components. Currently, autonomous processes may be used to handle failures on computer systems, manage network traffic, optimize manufacturing processes, manage entertainment services, and explore space. These autonomous processes are also referred to as agents. For example, if a process on a computer system fails to execute, the program may be repaired or simply restarted by an autonomic agent. In some cases, the problem is with the autonomic entity itself and the error, when known, may be due to a defective process or physical device. When the autonomous entity encounters an internal error or failure it is expected to manage the failure by either self adjusting or by self healing. A failure to correct can lead to endangerment of the overall mission, causing damage to other autonomous entities, or wasting resources by allowing non-approved entities to gain access to resources and assets.
For the reasons stated above, and for other reasons stated below which will become apparent to those skilled in the art upon reading and understanding the present specification, there is a need in the art for the management of autonomous entities that can be functionally extracted from the environment upon the occurrence of a predetermined condition. There is also a need for an autonomous entity that adapts itself to changing external requirements. There is a further need for an autonomous entity that performs significant tasks with complete autonomy.